package Singleton.type2;

/**
 * @Description:    单例模式 ------ 饿汉式(静态代码块)
 * @Author: 		ZhaoLiangLiang
 * @date 			2023/2/12 22:10
 **/

public class Singleton02 {

    public static void main(String[] args) {
        Singleton test = Singleton.getInstance();
        Singleton test2 = Singleton.getInstance();
        System.out.println(test.hashCode());
        System.out.println(test2.hashCode());
    }
}
class Singleton {
    // 1、构造器私有化 防止外部new
    private Singleton(){}

    // 2、本类内部创建对象实例
    private static Singleton instance;

    // 3、在静态代码块中,创建单例对象
    static {
        instance = new Singleton();
    }

    // 4、提供一个公有的静态方法 返回实例对象
    public static Singleton getInstance(){
        return instance;
    }
}

